<?php
$cpustart=microtime();

include("inc/defs.inc.php");
include("inc/common.inc.php");
include("cms/css.inc.php");
include("cms/cms.inc.php");
include("adodb/adodb.inc.php");
define("APP_DIR",dirname(__FILE__));

//===============================================================================
// Setup all initial values for this request
// Select project -> read project properties -> setup project values in session object  
//===============================================================================
// Global Varaible Init
//===================================================================
$menutxt="";
$lnkpath="";
$pid_root=0;
$mid_root=0;
$tid_root=0;
$authgrp=0;
$authuid=0;
$counter=false;
$ptit="";
$srchtxt="";
$CheckStatLog=false;
$cache=false;
$cms_code="";
$cmscodes=null;
$content="";
$repc="";
$pdes="";
$pkey="";
$meta_author="";
$meta_publisher="";
$meta_copyright="";
$meta_robots="";
$meta_revisit="";
$meta_var1="";
$meta_val1="";
$meta_var2="";
$meta_val2="";
$headscript="";
$onloadfkt="";
$encemail=false;

$menudebug=false;

$edicon="<img src=\"img/editdocu.gif\" border=0 width=17 height=17 alt=\"Edit\">"; 

//===============================================================================
	$ADODB_FETCH_MODE=ADODB_FETCH_ASSOC;
	$ADODB_COUNTRECS=false;	
  $cn=NewADOConnection($dbcons); $cn->debug=dbdebug;
	if($cn->_Execute("SET NAMES utf8")===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
  if($cn->_Execute("SET character_set_results=NULL;")===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");

//===============================================================================
	$dom=isset($_SERVER["HTTP_HOST"])?$_SERVER["HTTP_HOST"]:"";
	$requri=isset($_SERVER["REQUEST_URI"])?$_SERVER["REQUEST_URI"]:"";
	$querydat=isset($_SERVER["QUERY_STRING"])?$_SERVER["QUERY_STRING"]:"";
	$nid=isset($_GET["mid"])?$_GET["mid"]:0; $nid=is_numeric($nid)?intval($nid):0;

	$querystring=QueryStringFilter();
	$rewrite=GetVar($querystring,"rewrite");
//  $rewrite=isset($_GET["rewrite"])?$_GET["rewrite"]:"";
  if($rewrite) {
    $frs=0; $nid=0; $pid=0; $tid=0; $lid=0; $detail=""; $rwqs="";
/*
    $qa=explode(".",$rewrite);
    foreach($qa as $qv) {
      switch($qv[0]) {
        case "s": $setprj=substr($qv,1); $setprj=is_numeric($setprj)?intval($setprj):0; if($setprj) $rwqs.="&setprj=".$setprj; break;
        case "f": $frs=substr($qv,1); $frs=is_numeric($frs)?intval($frs):0; if($frs) $rwqs.="&frs=".$frs; break;
        case "m": $nid=substr($qv,1); $nid=is_numeric($nid)?intval($nid):0; if($nid) $rwqs.="&mid=".$nid; break;
        case "p": $pid=substr($qv,1); $pid=is_numeric($pid)?intval($pid):0; if($pid) $rwqs.="&pid=".$pid; break;
        case "t": $tid=substr($qv,1); $tid=is_numeric($tid)?intval($tid):0; if($tid) $rwqs.="&tid=".$tid; break;
        case "u": $t2id=substr($qv,1); $t2id=is_numeric($tid)?intval($t2id):0; if($t2id) $rwqs.="&t2id=".$t2id; break;
        case "l": $lid=substr($qv,1); $lid=is_numeric($lid)?intval($lid):0; if($lid) $rwqs.="&lid=".$lid; break;
        case "g": $page=substr($qv,1); $page=is_numeric($page)?intval($page):0; if($page) $rwqs.="&page=".$page; break;
        case "d": $detail=substr($qv,1); if($detail) $rwqs.="&detail=".$detail; break;
      }
    }
		if(!$lid) if(isset($_SESSION["ulid".virt])) $lid=$_SESSION["ulid".virt];
    $lid=is_numeric($lid)?intval($lid):0;	if($lid<1) $lid=1;
		$querystring.=$rwqs;
*/
$prj=1; $ver=1;

    $qa=explode("?",$rewrite);
		if(count($qa)>1) $querystring.=$qa[1];
    $qa=explode("/",$qa[0]);
		$lid=$qa[0];
    $rsx=$cn->_Execute("SELECT id FROM lng WHERE iso='".$lid."' AND prj=".$prj." AND ver=".$ver.";"); if($rsx===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
    if(!$rsx->EOF) $lid=$rsx->fields["id"]; else $lid=1;
		$_GET["lid"]=$lid;
		$qpar="(parent=1 OR parent=9)";
		for($i=1;$i<count($qa);$i++) {
      $rsx=$cn->_Execute("SELECT id FROM menu WHERE ".$qpar." AND mpath='".$qa[$i]."' AND prj=".$prj." AND ver=".$ver." AND lid=".$lid.";"); if($rsx===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
      if(!$rsx->EOF) { $nid=$rsx->fields["id"]; $qpar="parent=".$nid; $_GET["mid"]=$nid; }
		}
		$rwqs="&mid=".$nid."&lid=".$lid;
		$querystring.=$rwqs;
		
	} else {
    $frs=isset($_GET["frs"])?$_GET["frs"]:0; $frs=is_numeric($frs)?intval($frs):0;
    $nid=isset($_GET["mid"])?$_GET["mid"]:0; $nid=is_numeric($nid)?intval($nid):0;
    $pid=isset($_GET["pid"])?$_GET["pid"]:0; $pid=is_numeric($pid)?intval($pid):0;
    $tid=isset($_GET["tid"])?$_GET["tid"]:0; $tid=is_numeric($tid)?intval($tid):0;
    $t2id=isset($_GET["t2id"])?$_GET["t2id"]:0; $t2id=is_numeric($t2id)?intval($t2id):0;
    $setprj=isset($_GET["setprj"])?$_GET["setprj"]:0; $setprj=is_numeric($setprj)?intval($setprj):0;
    $page=isset($_GET["page"])?$_GET["page"]:0; $page=is_numeric($page)?intval($page):0;
    $detail=isset($_GET["detail"])?$_GET["detail"]:"";
  	//--------------------------------------------------------------------------
    $lid=0;
    if(isset($_GET["lid"])) {
    	$lid=$_GET["lid"];
    	$_SESSION["ulid".virt]=$lid;
    } elseif(isset($_SESSION["ulid".virt])) $lid=$_SESSION["ulid".virt];
    $lid=is_numeric($lid)?intval($lid):0;	if($lid<1) $lid=1;
  	//--------------------------------------------------------------------------
	}
	//----------------------------------------------------------------------------
  $mode="";
  if(isset($_GET["mode"])) {
  	$mode=$_GET["mode"];
  	$_SESSION["umode".virt]=$mode;
  } elseif(isset($_SESSION["umode".virt])) $mode=$_SESSION["umode".virt];
	//----------------------------------------------------------------------------
  $x=isset($_GET["x"])?$_GET["x"]:"";
  $ss=isset($_GET["ss"])?$_GET["ss"]:"";
  $cmd=isset($_GET["cmd"])?$_GET["cmd"]:"";
	//----------------------------------------------------------------------------
	$REDFOX=isset($_GET["redfox"]) ? strtoupper($_GET["redfox"]):""; 
	$ADMINISTRATOR=isset($_SESSION["administrator".virt]) ? $_SESSION["administrator".virt]:"";
	$SUPER=isset($_SESSION["super".virt]) ? $_SESSION["super".virt]:"";
	$ADMINID=isset($_SESSION["adminID".virt]) ? $_SESSION["adminID".virt]:0; $ADMINID=is_numeric($ADMINID)?intval($ADMINID):0; 
	$ADMINGROUP=isset($_SESSION["adminGroup".virt]) ? $_SESSION["adminGroup".virt]:0; $ADMINGROUP=is_numeric($ADMINGROUP)?intval($ADMINGROUP):0;
	$WYSIWYG_EDIT=isset($_SESSION["WYSIWYG_EDIT".virt]) ? $_SESSION["WYSIWYG_EDIT".virt]:"0";
  if($REDFOX=="ON" && $ADMINISTRATOR=="ADMIN") {
		$_SESSION["WYSIWYG_EDIT".virt]="1"; $wysiwyg=true;
  } elseif($REDFOX=="OFF") {
		$_SESSION["WYSIWYG_EDIT".virt]="0"; $wysiwyg=false;
  } else {
		if($WYSIWYG_EDIT=="1") $wysiwyg=true; else $wysiwyg=false;
  }
	//----------------------------------------------------------------------------
  $qca=$cmd.$ADMINISTRATOR.$ADMINID;
  if($detail) $qca.="_detail=".$detail;
  if($page) $qca.="_page=".$page;	
  if($ss) { $ss=str_replace("'","''",$ss); $qca.="_ss=".$ss; }
	if(!$frs && !$nid && !$pid) $qca.="_dom=".$dom;
	if($t2id) $qca.="_t2id=".$t2id;
	//----------------------------------------------------------------------------
  $acln=explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]); $acln[0]=strtolower($acln[0]);
  $usdate=($acln[0]=="en-us" || $acln[0]=="en-tt" || $acln[0]=="en-ph" || $acln[0]=="en-nz" || $acln[0]=="en-jm" || $acln[0]=="en-cb" || $acln[0]=="en-ca" || $acln[0]=="en-bz" || $acln[0]=="en-au") ? true : false;
	if($usdate) $qca.="_usdate";	
	//----------------------------------------------------------------------------
  $StatID=0;


//===============================================================================
// SelectPRJ();

  $UCONFIG=isset($_SESSION["uconfig".virt]) ? $_SESSION["uconfig".virt]:"";
$_SESSION["uconfig".virt]="";	$UCONFIG="";
	if($UCONFIG!=$dom || $setprj) {
    if($setprj) {
      $sql="SELECT t1.prj AS prj,t1.ver AS ver,t1.pub_type AS ptype,t1.pub_folder AS pfolder,t1.start_frs AS sfrs,t1.start_mid AS smid,t1.start_tid AS stid,".
					 "t1.start_pid AS spid,t1.start_lid AS slid,t1.start_url AS surl,t1.doc_type AS dtype,t1.authgrp AS authgrp,t1.authuid AS authuid,t1.cache AS cache FROM domains AS t1,projects AS t2".
					 " WHERE (t1.prj=".$setprj.") AND t1.prj=t2.id AND t1.ver=t2.ver_user;";
    } else {
      $sql="SELECT t1.prj AS prj,t1.ver AS ver,t1.pub_type AS ptype,t1.pub_folder AS pfolder,t1.start_frs AS sfrs,t1.start_mid AS smid,t1.start_tid AS stid,".
					 "t1.start_pid AS spid,t1.start_lid AS slid,t1.start_url AS surl,t1.doc_type AS dtype,t1.authgrp AS authgrp,t1.authuid AS authuid,t1.cache AS cache FROM domains AS t1,projects AS t2".
					 " WHERE (t1.domain01='$dom' OR t1.domain02='$dom' OR t1.domain03='$dom' OR t1.domain04='$dom') AND t1.prj=t2.id AND t1.ver=t2.ver_user ORDER BY t1.prj,t1.ver;";
    }
    $rs=$cn->_Execute($sql); if($rs===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");	
    if(!$rs->EOF) {
      $prj=$rs->fields["prj"];						$_SESSION["uproject".virt]=$prj;
      $ver=$rs->fields["ver"];						$_SESSION["uversion".virt]=$ver;
      $pubtyp=$rs->fields["ptype"];				$_SESSION["pubtyp".virt]=$pubtyp;
      $pubfolder=$rs->fields["pfolder"];	$_SESSION["pubfolder".virt]=$pubfolder;
      $startframe=$rs->fields["sfrs"];		$_SESSION["startframe".virt]=$startframe;
      $startmenu=$rs->fields["smid"];		 	$_SESSION["startmenu".virt]=$startmenu;
      $starttemplate=$rs->fields["stid"]; $_SESSION["starttemplate".virt]=$starttemplate;
      $startpage=$rs->fields["spid"];			$_SESSION["startpage".virt]=$startpage;
      $startlid=$rs->fields["slid"];			$_SESSION["startlid".virt]=$startlid;
      $starturl=$rs->fields["surl"];			$_SESSION["starturl".virt]=$starturl;
      $doctype=$rs->fields["dtype"];			$_SESSION["doctype".virt]=$doctype;
      $authgrp=$rs->fields["authgrp"];		$_SESSION["authgrp".virt]=$authgrp;
      $authuid=$rs->fields["authuid"];		$_SESSION["authuid".virt]=$authuid;
      if($WYSIWYG_EDIT=="1") {
				$usecache=false;
      } else {
        $usecache=(bool)$rs->fields["cache"];
				$_SESSION["usecache".virt]=$usecache;
      }
			//---------------------------------------
			$lid=isset($_GET["lid"])?$lid:$startlid; $_SESSION["ulid".virt]=$lid;
//echo "<!-- dom=$dom,startlid=$startlid,authgrp=$authgrp,authuid=$authuid -->\r\n"; flush();
			//---------------------------------------
      $validlngs="|"; $startlidiso=""; $charset="";
      $rs=$cn->_Execute("SELECT id,iso,charset FROM lng WHERE active=".dbTrue." AND prj=".$prj." AND ver=".$ver." ORDER BY id;"); if($rs===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
			while(!$rs->EOF) {
        $validlngs.=$rs->fields["id"].",".$rs->fields["iso"]."|";
				$_SESSION["charset".$rs->fields["id"].virt]=$rs->fields["charset"];
        if($rs->fields["id"]==$lid) $charset=$rs->fields["charset"];
        if($rs->fields["id"]==$startlid) $startlidiso=$rs->fields["iso"];
        $rs->MoveNext();
      }
			$_SESSION["validlngs".virt]=$validlngs;
			//---------------------------------------
			$_SESSION["uconfig".virt]=$dom;

    } else {
			session_write_close();
      header("Location: cms/manatwork.html");
    }
	
  } else {
		$prj=isset($_SESSION["uproject".virt])?$_SESSION["uproject".virt]:0; $prj=is_numeric($prj)?intval($prj):0;
		$ver=isset($_SESSION["uversion".virt])?$_SESSION["uversion".virt]:0; $ver=is_numeric($ver)?intval($ver):0;
		$pubtyp=isset($_SESSION["pubtyp".virt])?$_SESSION["pubtyp".virt]:0;	 $pubtyp=is_numeric($pubtyp)?intval($pubtyp):0;
    $pubfolder=isset($_SESSION["pubfolder".virt])?$_SESSION["pubfolder".virt]:"";
    $startframe=isset($_SESSION["startframe".virt])?$_SESSION["startframe".virt]:0;	$startframe=is_numeric($startframe)?intval($startframe):0;
    $startmenu=isset($_SESSION["startmenu".virt])?$_SESSION["startmenu".virt]:0; $startmenu=is_numeric($startmenu)?intval($startmenu):0;	
    $startpage=isset($_SESSION["startpage".virt])?$_SESSION["startpage".virt]:0; $startpage=is_numeric($startpage)?intval($startpage):0;	
    $startlid=isset($_SESSION["startlid".virt])?$_SESSION["startlid".virt]:0;	$startlid=is_numeric($startlid)?intval($startlid):0;
    $starturl=isset($_SESSION["starturl".virt])?$_SESSION["starturl".virt]:"";
    $starttemplate=isset($_SESSION["starttemplate".virt])?$_SESSION["starttemplate".virt]:0; $starttemplate=is_numeric($starttemplate)?intval($starttemplate):0;		
    $doctype=isset($_SESSION["doctype".virt])?$_SESSION["doctype".virt]:0; $doctype=is_numeric($doctype)?intval($doctype):0;
    $authgrp=isset($_SESSION["authgrp".virt])?$_SESSION["authgrp".virt]:0;
    $authuid=isset($_SESSION["authuid".virt])?$_SESSION["authuid".virt]:0;
    $validlngs=isset($_SESSION["validlngs".virt])?$_SESSION["validlngs".virt]:"";
    if($WYSIWYG_EDIT=="1") {
      $usecache=false;
    } else {
		  $usecache=isset($_SESSION["usecache".virt])?(bool)$_SESSION["usecache".virt]:false;
    } 
    $charset=isset($_SESSION["charset".$lid.virt])?$_SESSION["charset".$lid.virt]:"";
  }
	//--------------------------------------------------------------------------
	if($starturl) {
		session_write_close();
    header("Location: ".$starturl);
	}	
	//--------------------------------------------------------------------------
//echo "<!-- validlngs=$validlngs, lid=$lid -->\r\n"; flush();
	$m=strpos($validlngs,"|".$lid.",");
  if($m===false) {
    $lid=$startlid; if($lid<1) $lid=1;
		$_SESSION["ulid".virt]=$lid;
		$lidiso=$startlidiso;		
  } else {
	  $m=explode("|",substr($validlngs,$m+1));
		$lidiso=explode(",",$m[0]); $lidiso=$lidiso[1];
	}
if(!$lidiso) $lidiso="de";
	$_SESSION["ulidiso".virt]=$lidiso;
	//--------------------------------------------------------------------------
//  if(strlen($charset)<3) {
//    $rs=$cn->_Execute("SELECT charset FROM lng WHERE id=$lid AND prj=$prj AND ver$ver;");
//    if($rs===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");	
//    if(!$rs->EOF) $charset=$rs->fields["charset"]; else $charset="iso-8859-1";
//  }
$charset="utf-8";	
	//--------------------------------------------------------------------------

$cond=" AND prj=".$prj." AND ver=".$ver." AND lid=".$lid;

//$usecache=false; // nur zum debuggen !!


//==============================================================================
// Sessionlog per DB  
//==============================================================================
$uri=str_replace(virt."/default.php","",strtolower(substr($_SERVER["REQUEST_URI"],0,254)));
$sesskey=0;
$rss=$cn->_Execute("SELECT keyid,uid FROM ".tbl_sys_sessions." WHERE sid='".substr(session_id(),0,32)."';"); if($rss===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");	
if(!$rss->EOF) {
  $sesskey=$rss->fields["keyid"];
  $sql="UPDATE ".tbl_sys_sessions." SET ts=NOW(),prj=".$prj.",ver=".$ver.",lid=".$lid.",uri='".$uri."' WHERE keyid=".$sesskey.";";
  if($cn->_Execute($sql)===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
} else {
  $ual=str_replace("'","''",substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,32));
	$uag=str_replace("'","''",substr($_SERVER["HTTP_USER_AGENT"],0,254));
  $sql="INSERT INTO ".tbl_sys_sessions." (sid,ip,uag,ln,prj,ver,lid,uri) VALUES ('".substr(session_id(),0,32)."',INET_ATON('".$_SERVER["REMOTE_ADDR"]."'),'".$uag."','".$ual."',".$prj.",".$ver.",".$lid.",'".$uri."');";
  if($cn->_Execute($sql)===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
	$sesskey=$cn->Insert_ID();
}
$sql="DELETE FROM ".tbl_sys_sessions." WHERE ts<DATE_SUB(NOW(),INTERVAL 20 MINUTE);";
if($cn->_Execute($sql)===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");

//===============================================================================
// Check if HTML for this request is already in 'outcache'  
//===============================================================================
$html="";
$cached=false;
if($usecache && !$x && !$wysiwyg && !($authgrp || $authuid)) {
  $rs=$cn->_Execute("SELECT page,ptit,counter_ FROM outcache WHERE prj=".$prj." AND ver=".$ver." AND typ=".$pubtyp." AND frs=".$frs." AND mid_=".$nid." AND pid=".$pid." AND tid=".$tid." AND lid=".$lid." AND qca='".$qca."' ORDER BY id DESC;");
  if($rs===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
	if(!$rs->EOF) $cached=true;
}

if($cached && $usecache && !$x && !$wysiwyg && !($authgrp || $authuid)) {
	session_write_close();
  if($frs && ($nid || $pid)) {
		ob_clean();
		require_once "cms/cms.frameset.php";
    if($rs->fields["counter_"]) {
			require_once "cms/cms.statlog.php";	
			$cputime=microtime_diff(microtime(),$cpustart);
      echo str_replace( "{{StatID}}", DoStatLog(), patchFrameset($rs->fields["page"],"main",$tid,$nid,$pid,$lid,$detail));
    } else {
			$cputime=microtime_diff(microtime(),$cpustart);	
      echo patchFrameset($rs->fields["page"],"main",$tid,$nid,$pid,$lid,$detail);
    } 
  } else {
		ob_clean();
		$cputime=microtime_diff(microtime(),$cpustart);	
    if($rs->fields["counter_"]) {
//			require_once "cms/cms.statlog.php";	
//      echo str_replace("{{StatID}}", "1234", $rs->fields["page"] );
      echo $rs->fields["page"];
    } else echo $rs->fields["page"];
  }
	ob_flush();
  if(SHOW_COMMENTS) echo "\r\n<!-- Cached Output, #".$prj.".".$ver.", CPU-Time: ".$cputime." mS, Request-Time: ".microtime_diff(microtime(),$cpustart)." mS -->\n\r";
	ob_end_flush();

//===============================================================================
// else assemble HTML output for page or frameset content
//===============================================================================
} else {

  $cfrs=$frs;
  $cnid=$nid;
  $cpid=$pid;
  $ctid=$tid;
  $clid=$lid;
  //===============================================================================
  if($pubtyp==0) { // static
    $pubpath="pub/";
    if($pubfolder) $pubpath.=$pubfolder."/";
		session_write_close();
    header("Location: ".$pubpath."default.html");
		
  } elseif($pubtyp==1 || $pubtyp==2) {
    //--------------------------------------------
    if(!$frs && !$nid && !$pid) {
      if($startframe) {
        $frs=$startframe;
        $nid=0;
        $pid=0;
        $tid=0;
      } elseif($startmenu) {
        $nid=$startmenu;
        $tid=0;
        $pid=0;
        $frs=0;
      } elseif($startpage) {
        $pid=$startpage;
        $tid=$starttemplate;
        $nid=0;
        $frs=0;
      } 
//      if($startlid>0) $lid=$startlid;
    } 
		//--------------------------------------------
    if($frs) {
			//=============================================================================	
			require_once "cms/cms.frameset.php";	
      frameset();
			session_write_close();
      if($nid || $pid) $html=patchFrameset($html,"main",$tid,$nid,$pid,$lid,$detail);
			//-----------------------------------------------------------------------------
			$cputime=microtime_diff(microtime(),$cpustart);
			ob_clean();
      echo $html;
			ob_flush();
      if(SHOW_COMMENTS) echo "\r\n<!-- #".$prj.".".$ver.", CPU-Time: ".$cputime." mS, Request-Time: ".microtime_diff(microtime(),$cpustart)." mS -->\n\r";
			ob_end_flush();
			//-----------------------------------------------------------------------------
      if($usecache && !$x) {
			  $sql="INSERT INTO outcache (prj,ver,typ,frs,mid_,pid,tid,lid,dfrs,dmid,dpid,dtid,dlid,qca,counter_,page,txt) VALUES ($prj,$ver,$pubtyp,$cfrs,$cnid,$cpid,$ctid,$clid,$frs,$nid,$pid,$tid,$lid,'$qca',1,'".str_replace("'","''",$html)."','');";
        if ($cn->_Execute($sql)===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
			} 
			//=============================================================================	

    } elseif($nid || $pid) {
			//=============================================================================
//			if(1==1) {
			if(!($authgrp || $authuid) || (($authgrp && $authgrp==$ADMINGROUP) || ($authuid && $authuid==$ADMINID))) {
        page();
				session_write_close();
  			//-----------------------------------------------------------------------------
  			$cputime=microtime_diff(microtime(),$cpustart);
				ob_clean();
				echo $html;
				ob_flush();
        if(SHOW_COMMENTS) echo "\r\n<!-- #$prj.$ver, CPU-Time: $cputime mS, Request-Time: ".microtime_diff(microtime(),$cpustart)." mS -->\n\r";
				ob_end_flush();
  			//-----------------------------------------------------------------------------
  			if($usecache && $cache && !$x && !($authgrp || $authuid)) {
  				require_once "cms/cms.statlog.php";
  			  $sql="INSERT INTO outcache (prj,ver,typ,frs,mid_,pid,tid,lid,dfrs,dmid,dpid,dtid,dlid,qca,modules,counter_,ptit,page,txt) VALUES ($prj,$ver,$pubtyp,$cfrs,$cnid,$cpid,$ctid,$clid,$frs,$nid,$pid,$tid,$lid,'$qca','$cms_code',".BoolSQL($counter).",'".replSQL($ptit)."','".replSQL(PatchCountPix($html,$StatID))."','".replSQL(KillHTML("$menutxt ($ptit)\r\n".$srchtxt))."');";
          if($cn->_Execute($sql)===false) die("ERROR: ".$cn->ErrorMsg()."<BR>\n");
  			}
			} else {
        session_write_close();
        header("Location: authuser.php");
			}
			//-----------------------------------------------------------------------------
//      if ($ONLINETRACE) $online $vUserName $ptit $GeoByte;
			//=============================================================================	

    } else {
			session_write_close();
      header("Location: cms/pagenotfound.html");
    } 
  } 
}

//===============================================================================
// request done !
//===============================================================================

?>
